# Maintainer: Christian Hesse <mail@eworm.de>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Brad Fanella <bradfanella@archlinux.us>
# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
# Contributor: Pierre-Paul Paquin <pierrepaulpaquin@gmail.com>
# Contributor: xduugu

pkgbase=mupdf
pkgname=(libmupdf mupdf mupdf-gl mupdf-tools)
pkgver=1.22.0
pkgrel=1
pkgdesc='Lightweight PDF and XPS viewer'
arch=('loong64' 'x86_64')
url='https://mupdf.com/'
license=('AGPL3')
makedepends=('desktop-file-utils' 'freetype2' 'freeglut' 'glu' 'harfbuzz'
             'jbig2dec' 'libjpeg' 'mesa-libgl' 'openjpeg2' 'libxext'
             'gumbo-parser')
# we need static libs for zathura-pdf-mupdf
options=('staticlibs')
source=("https://mupdf.com/downloads/archive/mupdf-${pkgver/_/}-source.tar.gz"
        'mupdf.desktop'
        'mupdf.xpm')
sha256sums=('5cae91c6332fa6cb08f1258addd27b736c4663f92698c8897b382c453534ee60'
            'ccff66979249bd4ab4ba8918660f194eb90eb0ae231b16e36a6cecdcf471883f'
            'a435f44425f5432c074dee745d8fbaeb879038ec1f1ec64f037c74662f09aca8')

prepare() {
  cd $pkgbase-${pkgver/_/}-source

  # remove bundled packages, we want our system libraries
  rm -rf thirdparty/{freeglut,freetype,harfbuzz,jbig2dec,libjpeg,openjpeg,zlib}
}

build() {
  CFLAGS+=' -fPIC'
  CXXFLAGS+=' -fPIC'
  export CFLAGS CXXFLAGS
  
  USE_SYSTEM_LIBS='yes'
  export USE_SYSTEM_LIBS

  export CFLAGS+=' -ffat-lto-objects'

  cd $pkgbase-${pkgver/_/}-source
  make build=release libs apps
}

package_libmupdf() {
  pkgdesc='Library for Lightweight PDF and XPS viewer'

  cd $pkgbase-${pkgver/_/}-source

  make build=release prefix="$pkgdir"/usr install

  rm -rf "$pkgdir"/usr/{bin,share/man}
  mv "$pkgdir"/usr/share/doc/mupdf "$pkgdir"/usr/share/doc/libmupdf

  find "$pkgdir"/usr/include "$pkgdir"/usr/share "$pkgdir"/usr/lib \
    -type f -exec chmod 0644 {} +
}

package_mupdf() {
  pkgdesc='Lightweight PDF and XPS viewer'
  depends=('desktop-file-utils' 'freetype2' 'harfbuzz' 'jbig2dec'
           'libjpeg' 'openjpeg2' 'openssl' 'libxext' 'gumbo-parser')

  cd $pkgbase-${pkgver/_/}-source

  install -D -m0755 build/release/mupdf-x11 "$pkgdir"/usr/bin/mupdf

  install -D -m0644 docs/man/mupdf.1 "$pkgdir"/usr/share/man/man1/mupdf.1

  install -d "$pkgdir"/usr/share/doc/mupdf
  install -m0644  README COPYING CHANGES "$pkgdir"/usr/share/doc/mupdf

  install -D -m0644 ../mupdf.desktop "$pkgdir"/usr/share/applications/mupdf.desktop
  install -D -m0644 ../mupdf.xpm "$pkgdir"/usr/share/pixmaps/mupdf.xpm
}

package_mupdf-gl() {
  pkgdesc='Lightweight PDF and XPS viewer with OpenGL backend'
  conflicts=('mupdf')
  provides=("mupdf=${pkgver}")
  depends=('desktop-file-utils' 'freetype2' 'freeglut' 'glu' 'harfbuzz' 'jbig2dec'
           'libjpeg' 'openjpeg2' 'openssl' 'gumbo-parser')

  cd $pkgbase-${pkgver/_/}-source

  install -D -m0755 build/release/mupdf-gl "$pkgdir"/usr/bin/mupdf

  install -D -m0644 docs/man/mupdf.1 "$pkgdir"/usr/share/man/man1/mupdf.1

  install -d "$pkgdir"/usr/share/doc/mupdf
  install -m0644 README COPYING CHANGES "$pkgdir"/usr/share/doc/mupdf

  install -D -m0644 ../mupdf.desktop "$pkgdir"/usr/share/applications/mupdf.desktop
  install -D -m0644 ../mupdf.xpm "$pkgdir"/usr/share/pixmaps/mupdf.xpm
}

package_mupdf-tools() {
  pkgdesc='Tools for Lightweight PDF and XPS viewer'
  depends=('mupdf')
  depends=('freetype2' 'jbig2dec' 'libjpeg' 'openjpeg2' 'harfbuzz' 'openssl'
           'gumbo-parser')

  cd $pkgbase-${pkgver/_/}-source

  install -D -m0755 build/release/mutool "$pkgdir"/usr/bin/mutool
  install -D -m0755 build/release/muraster "$pkgdir"/usr/bin/muraster

  install -D -m0644 docs/man/mutool.1 "$pkgdir"/usr/share/man/man1/mutool.1

  install -d "$pkgdir"/usr/share/doc/mupdf-tools
  install -m0644 README COPYING CHANGES "$pkgdir"/usr/share/doc/mupdf-tools
}
